home *** CD-ROM | disk | FTP | other *** search
/ Language/OS - Multiplatform Resource Library / LANGUAGE OS.iso / gnu / button12.lha / button9206.ps < prev    next >
Text File  |  1993-08-05  |  4KB  |  143 lines

  1. %
  2. % button9206.ps - A GNU Button Program
  3. %
  4. % Copyright 1992 Free Software Foundation
  5. %
  6. % This program is free software; you can redistribute it and/or modify
  7. % it under the terms of the GNU General Public License as published by
  8. % the Free Software Foundation; either version 2, or (at your option)
  9. % any later version.
  10. %
  11. % This program is distributed in the hope that it will be useful,
  12. % but WITHOUT ANY WARRANTY; without even the implied warranty of
  13. % MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  14. % GNU General Public License for more details.
  15. %
  16. % You should have received a copy of the GNU General Public License
  17. % along with this program; if not, write to the Free Software
  18. % Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
  19. %
  20. % Hard copies of this button were first distributed at the June
  21. % 1992 San Antonio Usenix.  They had black lettering on a yellow
  22. % background on a standard 2 1/4" safety pin button.  They were
  23. % designed by Leonard H. Tower Jr. who is also the author of this GNU
  24. % Button Program.
  25. %
  26. % Report bugs or improvements to: tower@prep.ai.mit.edu
  27. %
  28. % Hard copies of this button are probably still available.  To get a
  29. % button, one must have either donated source code or documentation to
  30. % the GNU Project or make a donation of at least $ 2.00 for each button.
  31. %
  32. % If you wish a hard copy of a gnu button send:
  33. %     - a self-addressed, stamped envelope; and
  34. %     - either:
  35. %         - a reminder of your source or documentation contribution; or
  36. %         - a donation payable to the "Free Software Foundation"; and
  37. %     - specify how many each of these different versions you wish:
  38. %         Feb 88 (white GNU)        Jun 88 (yellow GNU)
  39. %        Jan 89 (blue GNUer)        Jun 89 (green GNUist)
  40. %        Jan 90 (yellow thanx GNU)    Jun 90 (white text on GNU) @@??
  41. %        Jan 91 (yellow text on GNU)@@??    Jun 91 (white cubist GNU)  @@??
  42. %        Jan 92 (yellow cubist GNU) @@??    Jun 92 (yellow GnURU)
  43. % to:    L. Tower Jr.
  44. %     36 Porter Street,
  45. %    Somerville, MA  02143, USA
  46. %
  47. % This program is available for anonymous ftp
  48. % prep.ai.mit.edu:/u2/emacs/button.N.MM.shar.  It is probably available
  49. % in other source archives.
  50.  
  51. % This version has this "phrase" centered inside the fine print circle:
  52. %   
  53. %    ggg g      u    u r rr  u    u
  54. %   g   gg      u    u rr  r u    u
  55. %   g    g nnn  u    u r     u    u
  56. %   g    g n  n u    u r     u    u
  57. %   g   gg n  n u   uu r     u   uu
  58. %    ggg g n  n  uuu u r      uuu u
  59. %        g
  60. %    gggg
  61. %
  62.  
  63. erasepage
  64.  
  65. % debugging help
  66. .so ehandler.ps
  67.  
  68. % uses {in,out}sidecircletext routines from Adobe Cookbook.
  69. .so circtext.ps
  70.  
  71. % center button on 8 1/2" x 11" page
  72. 306 396 translate
  73.  
  74. % This is a kludge to give better edge resolution.
  75. % Note that postscript's scale command doesn't cut it.
  76. % It scales after the edges are set.
  77. % biggg is set to 2,3,4, 3.7 or 3.9 to make a master that is that much larger.
  78. % The master is reduced that much by the button manufacturer.
  79. % If only 1200 dpi postscript printers were more common ...
  80. /biggg 1 def
  81.  
  82. % useful for centering button design
  83. /circleguide {
  84.   gsave
  85.   /radius 82 biggg mul def
  86.   .5 setlinewidth
  87.   newpath
  88.     0 0 radius 0 360 arc
  89.   stroke
  90.   grestore
  91. } def
  92.  
  93. %circleguide
  94.  
  95. gsave
  96.   /guruptsz 54 biggg mul def
  97.   /nptsz guruptsz 2 div def
  98.  
  99.   /Times-Bold findfont nptsz scalefont setfont
  100.   /nwidth (n) stringwidth pop def
  101.   /nkern nwidth 4 div def
  102.  
  103.   /Times-Bold findfont guruptsz scalefont setfont
  104.   /gwidth (g) stringwidth pop def
  105.   /uruwidth (uru) stringwidth pop def
  106.   /guruwidth gwidth uruwidth add def
  107.  
  108.   %center
  109.   guruwidth nwidth 2 div add 2 div neg 
  110.         guruptsz 6 div neg moveto
  111.   (g) show
  112.   nkern 2 div neg 0 rmoveto
  113.  
  114.   /Times-Bold findfont nptsz scalefont setfont
  115.   (n) show
  116.   nkern .7     mul neg 0 rmoveto
  117.  
  118.   /Times-Bold findfont guruptsz scalefont setfont
  119.   (u) show
  120.   nkern .3 mul 0 rmoveto
  121.   (ru) show
  122. grestore
  123.  
  124. gsave
  125.   /GNUptsz 14 biggg mul def
  126.   /Times-Bold findfont GNUptsz scalefont setfont
  127.   (GNU's Not Unix)
  128.     GNUptsz 270 63 biggg mul insidecircletext
  129. grestore
  130.  
  131. /tinyptsz 5.75 biggg mul def
  132. /tinyrad 73 biggg mul def
  133.  
  134. /Helvetica-Narrow-Bold findfont tinyptsz scalefont setfont
  135.  
  136. (Copyright 1992 Free Software Foundation, Inc.)
  137.   tinyptsz 270 tinyrad outsidecircletext
  138.  
  139. (Anonymous ftp prep.ai.mit.edu:/pub/gnu/button.N.shar, this button's postscript program, which is freely redistributable under the GNU General Public License.)
  140.   tinyptsz  90 tinyrad outsidecircletext
  141.  
  142. showpage
  143.